1. Field of the Invention
The present invention is directed to multiprocessing data systems in which there is a coordinated usage of a shared mass storage among a plurality of data processors. In particular, the present invention is related to a Record Lock Processor (RLP) which is a special processor that facilitates the coordinated use of the shared mass storage in a high transaction environment, such as for example, in an airline's reservation system.
2. General Discussion of Background Information
The present invention involves a loosely coupled configuration with the Record Lock Processor wherein queuing and contention for common resources is moved to the mass storage record shared among multiple hosts and each data processing device has its own operating system. In tightly coupled systems (i.e., multiple processors that share main memory) there is queuing for internal memory references in addition to queuing for use of a mass storage record. In transaction applications for larger numbers of processors sharing one memory, the efficiency of the loosely coupled system using the Record Lock Processor is better than the efficiency of a corresponding tightly coupled configuration.
The efficiency of the loosely coupled system of the invention is approximately constant as more nodes (systems) are added to the network. The efficiency of tightly coupled systems decreases with each additional data processor. This means that each successive processor added yields less the net additional system throughput than the previous data processor that was added.
In addition, in the present invention deadlock detection can be performed on all the locks. Deadlock is when process A is waiting for a resource held by process B and process B is waiting for a resource held by process A. It is not possible to do deadlock detection when locks are held in multiple places without some additional form of communication between the storage locations for the lock entries. By putting the locking facility in one location, specialized control units with locking capabilities for each new generation of disk subsystems are avoided. There is, therefore, a savings in design resources since the standard mass storage control units can be used in other applications.
Use of a Record Lock Processor allows the customer to apply additional computing power to one application/data base using standard processing systems. The Record Lock Processor is designed to handle four data processors which will yield 3.2 to 3.6 times as much compute power as that of one data processor (assuming that all data processors are the same size). The Record Lock Processor concept is easily expanded to N systems by using more channel connections or using local area networks.
In a one node system if the node goes down, computing power is not available. In a loosely coupled network, if one node goes down, processing can continue on the other nodes. In most hot standby systems the standby node is not processing on the same application as the primary node. In the Loosely Coupled System of this invention with the Record Lock Processor, both nodes can work on the same application/data base at the same time. The reason this is true is the coupling efficiency of the Record Lock Processor approach is superior to other software methods of interhost conflict resolution.
A Loosely Coupled System configuration using a Record Lock Processor also provides for incremental growth of the system. A customer can add on another system to the network to add more compute power instead of replacing the system already in place. The Record Lock Processor approach adds an additional dimension to growing systems by adding more systems to the existing equipment. The addition of a system to a Loosely Coupled System is less disruptive to the existing computer system because the Loosely Coupled System does not have to connect to the in-place main memory.
The utilization of a plurality of data acquisition devices, in conjunction with a supervisor module which passed the outputs of each data acquisition function device to an arbitrator has been proposed for function-to-function architecture, as shown in Electronic Design, Sep. 3, 1981, pages 143-156. In this arrangement, if the votes of each module, concur execution proceeds; but if not, disagreeable modules can be purged from the system by one of the two arbiters. Function-to-function architecture (FFA) is a standardization of rules such that one actor can request that functions be performed by other actors. An actor is defined in the Electronic Design article as an entity that provides for and controls the execution of one or more functions. A function is defined as a transformation on a set of input parameters that use the set of output parameters.
Numerous processing devices have been designed for coordination of a number of data processing mainframe units with one or more units of shared mass storage. In a high transaction environment locking demands and reliability demands make many prior systems completely unsuitable for the intended task. With the system of the present invention, locking capabilities are over 15,000 lock requests per second, with a holding capacity of over 100,000 locks at a single time and a queuing capacity of over 1,000 locks at a single time, plus the capability of operating with up to four large scale mainframe computers, such as the Unisys.degree.1100/90 computer, or multiprocessing systems such as the Unisys.RTM.1100/92 computer, which utilizes two Unisys.RTM.1100 processors.
The present invention utilizes the triple modular redundancy concept with a Hot Spare Module in a Loosely Coupled System, high transaction environment, such as airline reservations. In addition, there are eight Programmable Channel Interfaces. The three active Lock Modules all receive the same input, and the resulting outputs from the lock modules are fed to the voter interface units. A comparison of the results are made so that if one of the units disagrees, this is considered to be a failure, and a Hot Spare Module which receives the same data as the active units and continually acts on this data in the same manner as the active data, but does not vote, may be switched in. Thus the "hot" spare ready for immediate activation is switched in, and the failed unit is switched out.
A separate Maintenance Module performs analysis and maintenance on the failed unit. The maintenance module operates on the failed module and attempts to take corrective action while the failed module is receiving the same information as the active units. When the failed, or standby, module is repaired its status can then be upgraded so that it then acts as the Hot Spare Module.